#include #include #include void nhap(int a[],int &n) { printf("nhap so phan tu: "); scanf("%d",&n); for(int i=0;i<=n-1;i++) { printf("a[%d] = ",i); scanf("%d",&a[i]); } } void xuat(int a[],int n) { for(int i=0;i<=n-1;i++) printf(" %d\t|",a[i]); } void xuatQS(int a[],int l,int r, int n, int m) { for(int i=0;i<=n-1;i++) if (i==m) printf(" (%2d)\t|",a[i]); else if (i>=l&&i<=r)printf(" %2d\t|",a[i]); else printf("\t|"); } void swap(int &a,int &b) { int t=a; a=b; b=t; } void Interchangesort(int a[],int n) { printf("\n\t"); for(int i=0;i<=n-1;i++) printf(" %d\t|",i); for(int i=0;i<=n-2;i++) { printf("\n---------------------------------------------------------------------------"); printf("\nBuoc %d: ",i); xuat(a,n); for(int j=i+1;j<=n-1;j++) if(a[i]>a[j]) swap(a[i],a[j]); } printf("\n---------------------------------------------------------------------------"); printf("\nKet qua:"); } void Selectionsort(int a[],int n) { printf("\n\t"); for(int i=0;i<=n-1;i++) printf(" %d\t|",i); for (int i=0;i<=n-2;i++) { printf("\n---------------------------------------------------------------------------"); printf("\nBuoc %d:",i); xuat(a,n); int min=i; for(int j=i+1;j<=n-1;j++) if(a[min]>a[j]) min=j; swap(a[min],a[i]); } printf("\n---------------------------------------------------------------------------"); printf("\nKet qua:"); } void Bubblesort(int a[],int n) { printf("\n\t"); for(int i=0;i<=n-1;i++) printf(" %d\t|",i); for(int i=0;i=i+1;j--) if(a[j]x) j--; if(i<=j) { if (i==m) m=j; else if(j==m) m=i; swap(a[i],a[j]); printf("\t\t\t");xuatQS(a,l,r,n,m); printf("\n----------------------------------------------------------------------------------------------\n"); i++; j--; } }while(i<=j); if(l